Use case: USART communication in polling mode ¶
Sequence diagram ¶
Code snippet ¶
|
HAL1 |
HAL2 |
|---|---|
#define DATA_TO_SEND_SIZE 256
#define DATA_TO_RECEIVE_SIZE DATA_TO_SEND_SIZE
uint8_t aTxBuffer[] = " **** USART_SlaveMode **** ";
uint8_t aRxBuffer[DATA_TO_RECEIVE_SIZE];
USART_HandleTypeDef husart;
HAL_USART_Init(&husart);
HAL_USART_Receive(&husart, aRxBuffer,
DATA_TO_RECEIVE_SIZE, 100)
HAL_USART_Transmit(&husart, aTxBuffer,
DATA_TO_SEND_SIZE, 100)
HAL_USART_TransmitReceive(&husart, aTxBuffer,
aRxBuffer, DATA_TO_SEND_SIZE, 100)
|
#define DATA_TO_SEND_SIZE 256
#define DATA_TO_RECEIVE_SIZE DATA_TO_SEND_SIZE
uint8_t aTxBuffer[] = " **** USART_SlaveMode **** ";
uint8_t aRxBuffer[DATA_TO_RECEIVE_SIZE];
hal_usart_handle_t husart;
hal_usart_config_t my_config;
HAL_USART_Init(&husart, HAL_USART1)
/* add config for usart instance */
HAL_USART_SetConfig(&husart, &my_config)
HAL_USART_Receive(&husart, aRxBuffer,
DATA_TO_RECEIVE_SIZE, 100)
HAL_USART_Transmit(&husart, aTxBuffer,
DATA_TO_SEND_SIZE, 100)
HAL_USART_TransmitReceive(&husart, aTxBuffer,
aRxBuffer, DATA_TO_SEND_SIZE, 100)
|
Key changes ¶
In HAL2, the USART instance is provided to
HAL_USART_Init()and configuration is separated usingHAL_USART_SetConfig().

